<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>aws-crt-cpp: Aws::Crt::Io::EventLoopGroup Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">aws-crt-cpp
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceAws.html">Aws</a></li><li class="navelem"><a class="el" href="namespaceAws_1_1Crt.html">Crt</a></li><li class="navelem"><a class="el" href="namespaceAws_1_1Crt_1_1Io.html">Io</a></li><li class="navelem"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Aws::Crt::Io::EventLoopGroup Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="EventLoopGroup_8h_source.html">EventLoopGroup.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afa612f87646149838af0ad84ddc92744"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#afa612f87646149838af0ad84ddc92744">EventLoopGroup</a> (uint16_t threadCount=0, <a class="el" href="namespaceAws_1_1Crt.html#a3c9efb213e2de565038afcfd4f8afcda">Allocator</a> *allocator=<a class="el" href="namespaceAws_1_1Crt.html#a7178ef65f261a8db52a624458331bbb2">g_allocator</a>) noexcept</td></tr>
<tr class="separator:afa612f87646149838af0ad84ddc92744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95e1913e02ca0b6351f1293d26915ce8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#a95e1913e02ca0b6351f1293d26915ce8">~EventLoopGroup</a> ()</td></tr>
<tr class="separator:a95e1913e02ca0b6351f1293d26915ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac36da407ce7f648549e32ce05f9a490d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#ac36da407ce7f648549e32ce05f9a490d">EventLoopGroup</a> (const <a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;)=delete</td></tr>
<tr class="separator:ac36da407ce7f648549e32ce05f9a490d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a473852511451679cce0de410c6ffd245"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#a473852511451679cce0de410c6ffd245">EventLoopGroup</a> (<a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&amp;) noexcept</td></tr>
<tr class="separator:a473852511451679cce0de410c6ffd245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a636f53ea1905ab65f83f52f647012f61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#a636f53ea1905ab65f83f52f647012f61">operator=</a> (const <a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;)=delete</td></tr>
<tr class="separator:a636f53ea1905ab65f83f52f647012f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e037769f324bf46b03edea45378866e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#a3e037769f324bf46b03edea45378866e">operator=</a> (<a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&amp;) noexcept</td></tr>
<tr class="separator:a3e037769f324bf46b03edea45378866e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7031fb3cc2e11ff20c295a011ad1736"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#aa7031fb3cc2e11ff20c295a011ad1736">operator bool</a> () const</td></tr>
<tr class="separator:aa7031fb3cc2e11ff20c295a011ad1736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49e6522b6f932bc732aa1cb6c60f7145"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html#a49e6522b6f932bc732aa1cb6c60f7145">LastError</a> () const</td></tr>
<tr class="separator:a49e6522b6f932bc732aa1cb6c60f7145"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A collection of event loops.</p>
<p>An event-loop is a thread for doing async work, such as I/O. Classes that need to do async work will ask the <a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> for an event-loop to use.</p>
<p>The number of threads used depends on your use-case. IF you have a maximum of less than a few hundred connections 1 thread is the ideal threadCount.</p>
<p>There should only be one instance of an <a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> per application and it should be passed to all network clients. One exception to this is if you want to peg different types of IO to different threads. In that case, you may want to have one event loop group dedicated to one IO activity and another dedicated to another type. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="afa612f87646149838af0ad84ddc92744"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa612f87646149838af0ad84ddc92744">&#9670;&nbsp;</a></span>EventLoopGroup() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Aws::Crt::Io::EventLoopGroup::EventLoopGroup </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>threadCount</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceAws_1_1Crt.html#a3c9efb213e2de565038afcfd4f8afcda">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code><a class="el" href="namespaceAws_1_1Crt.html#a7178ef65f261a8db52a624458331bbb2">g_allocator</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">threadCount</td><td>The number of event-loops to create, default will be 0, which will create one for each processor on the machine. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a95e1913e02ca0b6351f1293d26915ce8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95e1913e02ca0b6351f1293d26915ce8">&#9670;&nbsp;</a></span>~EventLoopGroup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Aws::Crt::Io::EventLoopGroup::~EventLoopGroup </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ac36da407ce7f648549e32ce05f9a490d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac36da407ce7f648549e32ce05f9a490d">&#9670;&nbsp;</a></span>EventLoopGroup() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Aws::Crt::Io::EventLoopGroup::EventLoopGroup </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a473852511451679cce0de410c6ffd245"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a473852511451679cce0de410c6ffd245">&#9670;&nbsp;</a></span>EventLoopGroup() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Aws::Crt::Io::EventLoopGroup::EventLoopGroup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>toMove</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a49e6522b6f932bc732aa1cb6c60f7145"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49e6522b6f932bc732aa1cb6c60f7145">&#9670;&nbsp;</a></span>LastError()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Aws::Crt::Io::EventLoopGroup::LastError </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the value of the last aws error encountered by operations on this instance. </dd></dl>

</div>
</div>
<a id="aa7031fb3cc2e11ff20c295a011ad1736"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7031fb3cc2e11ff20c295a011ad1736">&#9670;&nbsp;</a></span>operator bool()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Aws::Crt::Io::EventLoopGroup::operator bool </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if the instance is in a valid state, false otherwise. </dd></dl>

</div>
</div>
<a id="a636f53ea1905ab65f83f52f647012f61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a636f53ea1905ab65f83f52f647012f61">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a>&amp; Aws::Crt::Io::EventLoopGroup::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a3e037769f324bf46b03edea45378866e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e037769f324bf46b03edea45378866e">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp; Aws::Crt::Io::EventLoopGroup::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classAws_1_1Crt_1_1Io_1_1EventLoopGroup.html">EventLoopGroup</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>toMove</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/ANT.AMAZON.COM/dengket/doc/aws-crt-cpp/include/aws/crt/io/<a class="el" href="EventLoopGroup_8h_source.html">EventLoopGroup.h</a></li>
<li>/home/ANT.AMAZON.COM/dengket/doc/aws-crt-cpp/source/io/<a class="el" href="EventLoopGroup_8cpp.html">EventLoopGroup.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
